C#

推荐列表 站点导航

当前位置:首页 > 脚本编程 > C# >

C#_c#和javascript函数相互调用示例分享,在设置过webBrowser控件的ObjectFor

来源:网络整理  作者:  发布时间:2020-12-21 05:31
c#和javascript函数相互调用示例分享,在设置过webBrowser控件的ObjectForScripting属性后,还需要设置应用程序对com可见,不然...

在设置过webBrowser控件的ObjectForScripting属性后,还需要设置应用程序对com可见,不然会抛出一个异常(ObjectForScripting 的类必须对 COM 可见。请确认该对象是公共的,或考虑向您的类添加 ComVisible 属性。),可做如下设置:

[System.Runtime.InteropServices.ComVisible(true)]

例如:

复制代码 代码如下:


[ComVisible(true)]
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

protected override void OnLoad(EventArgs e)
        {
            webBrowser1.ObjectForScripting = this;
            webBrowser1.Navigate("");
            base.OnLoad(e);
        }
    }

如果要和JS通讯,使用webBrowser的Document对象的InvokeScript方法即可。

该方法签名如下:

InvokeScript(String spriteName,object[] args);

例如:

复制代码 代码如下:


<scripttype="text/javascript">     //提供给c#调用的方法   
 function test(n,s){        
    alert(n+"https://www.xp.cn/"+s);   
 }     //调用C#的方法    
function callCSharp(){         //这里可以看到window.external被设置成了什么       
 alert(window.external);       
 window.external.Test("hello",15);    
}
</script>
<button>call c#</button>

调用:web.Document.InvokeScript("test", new Object[] {1,"hello"});

相关热词: javascript 调用 C#

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/jiaob/c/6503.shtml

最新文章
热门文章
Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

C#_c#和javascript函数相互调用示例分享,在设置过webBrowser控件的ObjectFor

2020-12-21 编辑:

在设置过webBrowser控件的ObjectForScripting属性后,还需要设置应用程序对com可见,不然会抛出一个异常(ObjectForScripting 的类必须对 COM 可见。请确认该对象是公共的,或考虑向您的类添加 ComVisible 属性。),可做如下设置:

[System.Runtime.InteropServices.ComVisible(true)]

例如:

复制代码 代码如下:


[ComVisible(true)]
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

protected override void OnLoad(EventArgs e)
        {
            webBrowser1.ObjectForScripting = this;
            webBrowser1.Navigate("");
            base.OnLoad(e);
        }
    }

如果要和JS通讯,使用webBrowser的Document对象的InvokeScript方法即可。

该方法签名如下:

InvokeScript(String spriteName,object[] args);

例如:

复制代码 代码如下:


<scripttype="text/javascript">     //提供给c#调用的方法   
 function test(n,s){        
    alert(n+"https://www.xp.cn/"+s);   
 }     //调用C#的方法    
function callCSharp(){         //这里可以看到window.external被设置成了什么       
 alert(window.external);       
 window.external.Test("hello",15);    
}
</script>
<button>call c#</button>

调用:web.Document.InvokeScript("test", new Object[] {1,"hello"});

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/jiaob/c/6503.shtml

相关文章

风云图片

推荐阅读

返回C#频道首页